HEX
Server: Apache/2.4.58 (Ubuntu)
System: Linux ip-172-26-0-120 6.17.0-1009-aws #9~24.04.2-Ubuntu SMP Fri Mar 6 23:50:29 UTC 2026 x86_64
User: ubuntu (1000)
PHP: 8.3.6
Disabled: NONE
Upload Files
File: /var/www/html/dashboard.orbiwheels.com/routes/web.php
<?php

use App\Http\Controllers\Admin\BookingController;
use App\Http\Controllers\Admin\ContactController;
use App\Http\Controllers\Admin\CustomerController;
use App\Http\Controllers\Admin\DriverController;
use App\Http\Controllers\Admin\RideController;
use App\Http\Controllers\Admin\RolesController;
use App\Http\Controllers\Admin\SettingController;
use App\Http\Controllers\Admin\StaffController;
use App\Http\Controllers\Admin\TransporterController;
use App\Http\Controllers\Admin\VehicleController as AdminVehicleController;
use App\Http\Controllers\Auth\AuthenticationController;
use App\Http\Controllers\HomeController;
use App\Http\Controllers\Transporter\HomeController as TransporterHomeController;
use App\Http\Controllers\Transporter\RequestController as TransporterRequestController;
use App\Http\Controllers\Transporter\RideController as TransporterRideController;
use App\Http\Controllers\Transporter\BookingController as TransporterBookingController;
use App\Http\Controllers\Transporter\TripController;
use App\Http\Controllers\Transporter\VehicleController as TransporterVehicleController;
use App\Http\Controllers\VehicleController;
use App\Http\Middleware\CheckTransporterStatus;
use Illuminate\Support\Facades\Route;


Route::get('/login', [AuthenticationController::class, 'transporterCreate'])->name('login')->middleware('guest:trans');
Route::post('/login', [AuthenticationController::class, 'transporterLogin'])->name('login.store');

Route::middleware('auth:trans')->group(function () {
    Route::get('/', [TransporterHomeController::class, 'index'])->name('home');
    Route::post('/update-mode', [TransporterHomeController::class, 'updateMode'])
    ->name('transporter.updateMode');
    Route::get('/profile', [AuthenticationController::class, 'profile'])->name('profile');
    Route::get('/profile-edit', [AuthenticationController::class, 'profileEdit'])->name('profileEdit');
    Route::put('/profile-update', [AuthenticationController::class, 'profileUpdate'])->name('profileUpdate');
    Route::post('/logout', [AuthenticationController::class, 'transporterLogout'])->name('logout');

    Route::middleware([CheckTransporterStatus::class])->group(function () {

        //vehicle routes
        Route::group(['prefix' => 'vehicle', 'as' => 'vehicle.'], function () {
            Route::get('/', [TransporterVehicleController::class, 'index'])->name('index');
            Route::get('/create', [TransporterVehicleController::class, 'create'])->name('create');
            Route::post('/store', [TransporterVehicleController::class, 'store'])->name('store');
            Route::get('/view/{id}', [TransporterVehicleController::class, 'view'])->name('view');
            Route::get('/edit/{id}', [TransporterVehicleController::class, 'edit'])->name('edit');
            Route::put('/update/{id}', [TransporterVehicleController::class, 'update'])->name('update');
            Route::delete('/delete/{id}', [TransporterVehicleController::class, 'destroy'])->name('delete');
            Route::delete('/document/delete/{id}', [TransporterVehicleController::class, 'deleteDocument'])->name('document.delete');
            Route::get('/search', [TransporterVehicleController::class, 'search'])->name('search');
            Route::post('/update-status/{id}', [TransporterVehicleController::class, 'updateVehicleStatus'])->name('status');
        });

        // driver routes
        Route::group(['prefix' => 'driver', 'as' => 'driver.'], function () {
            Route::get('/', [TransporterVehicleController::class, 'driverIndex'])->name('index');
            Route::get('/create', [TransporterVehicleController::class, 'createDriver'])->name('create');
            Route::post('/store', [TransporterVehicleController::class, 'storeDriver'])->name('store');
            Route::get('/view/{id}', [TransporterVehicleController::class, 'viewDriver'])->name('view');
            Route::get('/edit/{id}', [TransporterVehicleController::class, 'editDriver'])->name('edit');
            Route::put('/update/{id}', [TransporterVehicleController::class, 'updateDriver'])->name('update');
            Route::delete('/delete/{id}', [TransporterVehicleController::class, 'destroyDriver'])->name('delete');
            Route::delete('/document/delete/{id}', [TransporterVehicleController::class, 'deleteDocument'])->name('document.delete');
            Route::get('/search', [TransporterVehicleController::class, 'searchDriver'])->name('search');
            Route::post('/update-status/{id}', [TransporterVehicleController::class, 'updateStatus'])->name('status');
        });
        Route::group(['prefix' => 'request', 'as' => 'request.'], function () {
            Route::get('/', [TransporterRequestController::class, 'index'])->name('index');
            Route::get('/view/{id}', [TransporterRequestController::class, 'view'])->name('view');
            Route::post('/accept/{id}', [TransporterRequestController::class, 'accept'])->name('accept');
            Route::post('/reject/{id}', [TransporterRequestController::class, 'reject'])->name('reject');
        });
        Route::group(['prefix' => 'booking', 'as' => 'booking.'], function () {
            Route::get('/', [TransporterBookingController::class, 'index'])->name('index');
            Route::get('/two-way', [TransporterBookingController::class, 'twoWayIndex'])->name('twoWayIndex');
            Route::get('/view/{id}', [TransporterBookingController::class, 'view'])->name('view');
            Route::get('/{id}/rides', [TransporterBookingController::class, 'getRides'])->name('rides');
            Route::post('/assign/{id}', [TransporterBookingController::class, 'assignBooking'])->name('assign');
            Route::post('/accept/{id}', [TransporterBookingController::class, 'acceptByBooking'])->name('accept');
            Route::post('/reject/{id}', [TransporterBookingController::class, 'rejectByBooking'])->name('reject');
        });
        Route::group(['prefix' => 'rides', 'as' => 'rides.'], function () {
            Route::get('/', [TransporterRideController::class, 'index'])->name('index');
            Route::get('/view/{id}', [TransporterRideController::class, 'view'])->name('view');
            Route::post('/assign/{rideId}', [TransporterRideController::class, 'assign'])->name('assign');
            Route::post('/request-change/{id}', [TransporterRideController::class, 'requestChange'])->name('requestChange');
            Route::get('/get-vehicles/{type}', [TransporterRideController::class, 'getByType'])->name('vehicles.byType');
        });
        Route::group(['prefix' => 'trips', 'as' => 'trips.'], function () {
            Route::post('/assign/{id}', [TripController::class, 'assign'])->name('assign');
        });
    });
});



// Admin routes
Route::prefix('admin')->name('admin.')->group(function () {
    Route::get('/login', [AuthenticationController::class, 'create'])->name('login')->middleware('guest:web');
    Route::post('/login', [AuthenticationController::class, 'store'])->name('login.store');

    Route::middleware('auth:web')->group(function () {
        Route::get('/home', [HomeController::class, 'index'])->name('home');
        Route::post('/logout', [AuthenticationController::class, 'logout'])->name('logout');

        Route::group(['prefix' => 'transporter', 'as' => 'transporter.'], function () {
            Route::get('/', [TransporterController::class, 'index'])->name('index');
            Route::get('/create', [TransporterController::class, 'create'])->name('create');
            Route::post('/store', [TransporterController::class, 'store'])->name('store');
             Route::get('/view/{id}', [TransporterController::class, 'view'])->name('view');
             Route::post('/{id}/verify', [TransporterController::class, 'verify'])->name('verify');
            Route::get('/edit/{id}', [TransporterController::class, 'edit'])->name('edit');
            Route::put('/update/{id}', [TransporterController::class, 'update'])->name('update');
            Route::delete('/delete/{id}', [TransporterController::class, 'delete'])->name('delete');
            Route::get('/request', [TransporterController::class, 'requestIndex'])->name('requestIndex');
            Route::post('/request-status/{id}/{status}', [TransporterController::class, 'requestStatus'])->name('requestStatus');
            Route::delete('/request-destroy/{id}', [TransporterController::class, 'requestDestroy'])->name('requestDestroy');
            Route::delete('/document/delete/{id}', [TransporterController::class, 'deleteDocument'])->name('document.delete');
            Route::post('/document/{id}/verify', [TransporterController::class, 'verifyDocument'])->name('document.verify');
        });
        Route::group(['prefix' => 'driver', 'as' => 'driver.'], function () {
            Route::get('/', [DriverController::class, 'index'])->name('index');
            Route::get('/create', [DriverController::class, 'create'])->name('create');
            Route::post('/store', [DriverController::class, 'store'])->name('store');
            Route::get('/view/{id}', [DriverController::class, 'view'])->name('view');
            Route::get('/edit/{id}', [DriverController::class, 'edit'])->name('edit');
            Route::put('/update/{id}', [DriverController::class, 'update'])->name('update');
            Route::delete('/delete/{id}', [DriverController::class, 'destroy'])->name('delete');
            Route::delete('/document/delete/{id}', [DriverController::class, 'deleteDocument'])->name('document.delete');
            Route::post('/document/{id}/verify', [DriverController::class, 'verifyDocument'])->name('document.verify');
            Route::post('/{id}/verify', [DriverController::class, 'verifyDriver'])->name('verify');
            Route::post('/update-status/{id}', [DriverController::class, 'updateStatus'])->name('status');
        });
        Route::group(['prefix' => 'vehicle', 'as' => 'vehicle.'], function () {
            Route::get('/', [AdminVehicleController::class, 'index'])->name('index');
            Route::get('/create', [AdminVehicleController::class, 'create'])->name('create');
            Route::post('/store', [AdminVehicleController::class, 'store'])->name('store');
            Route::get('/view/{id}', [AdminVehicleController::class, 'view'])->name('view');
            Route::get('/edit/{id}', [AdminVehicleController::class, 'edit'])->name('edit');
            Route::put('/update/{id}', [AdminVehicleController::class, 'update'])->name('update');
            Route::delete('/delete/{id}', [AdminVehicleController::class, 'destroy'])->name('delete');
            Route::delete('/document/delete/{id}', [AdminVehicleController::class, 'deleteDocument'])->name('document.delete');
            Route::post('/document/{id}/verify', [AdminVehicleController::class, 'verifyDocument'])->name('document.verify');
            Route::post('/{id}/verify', [AdminVehicleController::class, 'verifyVehicle'])->name('verify');
            Route::post('/update-status/{id}', [AdminVehicleController::class, 'updateStatus'])->name('status');
        });
        Route::group(['prefix' => 'customer', 'as' => 'customer.'], function () {
            Route::get('/', [CustomerController::class, 'index'])->name('index');
            Route::get('/create', [CustomerController::class, 'create'])->name('create');
            Route::post('/store', [CustomerController::class, 'store'])->name('store');
            Route::get('/view/{id}', [CustomerController::class, 'view'])->name('view');
            Route::get('/edit/{id}', [CustomerController::class, 'edit'])->name('edit');
            Route::put('/update/{id}', [CustomerController::class, 'update'])->name('update');
            Route::delete('/delete/{id}', [CustomerController::class, 'destroy'])->name('delete');
        });
        Route::group(['prefix' => 'booking', 'as' => 'booking.'], function () {
            Route::get('/', [BookingController::class, 'index'])->name('index');
            Route::get('/enquiries', [BookingController::class, 'enquiries_index'])->name('enquiries');
            Route::get('/view/{id}', [BookingController::class, 'view'])->name('view');
            Route::get('/create', [BookingController::class, 'create'])->name('create');
            Route::post('/store', [BookingController::class, 'store'])->name('store');
            Route::get('/edit/{id}', [BookingController::class, 'edit'])->name('edit');
            Route::put('/update/{id}', [BookingController::class, 'update'])->name('update');
            Route::get('/{id}/rides', [BookingController::class, 'getRides'])->name('booking.rides');
            Route::delete('/delete/{id}', [BookingController::class, 'destroy'])->name('delete');
            Route::get('/{id}/rides', [BookingController::class, 'getRides'])->name('rides');
            Route::post('/{id}/assign-transporter', [BookingController::class, 'assignTransporter'])->name('assignTransporter');
            Route::post('trip/{id}/assign-transporter', [BookingController::class, 'assignTransporterByTrip'])->name('trip.assignTransporter');
            Route::get('transporters/search', [BookingController::class, 'search'])->name('transporters.search');
        });
        Route::group(['prefix' => 'rides', 'as' => 'rides.'], function () {
            Route::get('/', [RideController::class, 'index'])->name('index');
            Route::get('/view/{id}', [RideController::class, 'view'])->name('view');
        });
        Route::group(['prefix' => 'staff', 'as' => 'staff.'], function () {
            Route::get('/', [StaffController::class, 'index'])->name('index');
            Route::get('/create', [StaffController::class, 'create'])->name('create');
            Route::post('/store', [StaffController::class, 'store'])->name('store');
            Route::get('/edit/{id}', [StaffController::class, 'edit'])->name('edit');
            Route::put('/update/{id}', [StaffController::class, 'update'])->name('update');
            Route::delete('/delete/{id}', [StaffController::class, 'delete'])->name('delete');
        });
        Route::group(['prefix' => 'roles', 'as' => 'roles.'], function () {
            Route::get('/', [RolesController::class, 'index'])->name('index');
            Route::post('/store', [RolesController::class, 'store'])->name('store');
            Route::get('/edit/{id}', [RolesController::class, 'edit'])->name('edit');
            Route::post('/update/{id}', [RolesController::class, 'update'])->name('update');
            Route::delete('/delete/{id}', [RolesController::class, 'delete'])->name('delete');
            Route::get('/permission/{id}', [RolesController::class, 'permission'])->name('permission');
            Route::post('/permission/{id}', [RolesController::class, 'permissionAssign'])->name('permission.assign');
        });
        Route::group(['prefix' => 'settings', 'as' => 'setting.'], function () {
            Route::get('/general', [SettingController::class, 'index'])->name('index');
            Route::post('/update-getting', [SettingController::class, 'updateGeneralSetting'])->name('general');
            Route::get('/email-smtp', [SettingController::class, 'emailSmtp'])->name('smtp');
            Route::get('/sms-setting', [SettingController::class, 'smsSetting'])->name('sms');
            Route::get('/payment-method', [SettingController::class, 'paymentMethod'])->name('payment.method');
        });
        Route::group(['prefix' => 'vehicle-type', 'as' => 'vehicle.type.'], function () {
            Route::get('/', [SettingController::class, 'typeIndex'])->name('index');
            Route::post('/store', [SettingController::class, 'typeStore'])->name('store');
            Route::get('/edit/{id}', [SettingController::class, 'typeEdit'])->name('edit');
            Route::put('/update/{id}', [SettingController::class, 'typeUpdate'])->name('update');
            Route::delete('/delete/{id}', [SettingController::class, 'typeDelete'])->name('delete');
        });
        Route::group(['prefix' => 'vehicle-rate', 'as' => 'vehicle.rate.'], function () {
            Route::get('/', [SettingController::class, 'rateIndex'])->name('index');
            Route::post('/store', [SettingController::class, 'rateStore'])->name('store');
            Route::get('/edit/{id}', [SettingController::class, 'rateEdit'])->name('edit');
            Route::put('/update/{id}', [SettingController::class, 'rateUpdate'])->name('update');
            Route::delete('/delete/{id}', [SettingController::class, 'rateDelete'])->name('delete');
        });
        Route::group(['prefix' => 'contacts', 'as' => 'contacts.'], function () {
            Route::get('/', [ContactController::class, 'index'])->name('index');
            Route::delete('/delete/{id}', [ContactController::class, 'destroy'])->name('delete');
        });
    });
});